/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

package tetris.model;

import java.awt.Graphics;
import java.util.ArrayList;
import tetris.model.navigation.Position;

/**
 * Класс неоконченных рядов стакана.
 * @author vadim
 */
public class NotEndedRows {
    
    private ArrayList<boolean[]> _form;    
    private Position _position;
    private Glass _glass;
    
    /**
     * Функция отрисовки неоконченных рядов стакана.
     * @param g графика.
     * @return результат.
     */
    public boolean draw(Graphics g) {
        for(int i = 0; i < _form.size(); i++) {
            for(int j = 0; j < _form.get(i).length; j++) {
                if(_form.get(i)[j] == true) {
                    g.fillRect((_glass.glassShiftWidth() + j)*30 + 1, (_glass.glassShiftHeight() + 
                               _glass.height() - i)*30 + 1, 30, 30);
                }
            }
        }
        return true;
    }
    
    /**
     * Конструктор.
     * @param glass стакан.
     */
    public NotEndedRows(Glass glass) {
        _form = new ArrayList<boolean[]>();
        _glass = glass;
        boolean[] row = new boolean[glass.width()];
        for ( int j = 0; j < glass.width(); j++) {
            row[j] = false;
        }
        for (int i = 0; i < glass.height() + glass.glassShiftHeight()+5; i++) {
            _form.add(row.clone());
        }
    }
       
    /**
     * Форма неоконченных рядов.
     * @return
     */
    public ArrayList<boolean[]> form() {
        return _form;
    }
}
